#ifndef __TASKQUEUE__
#define __TASKQUEUE__
//#include "ThreadPool.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>
#include <strings.h>
#include <sys/socket.h>
#include <pthread.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/epoll.h>
//设计任务队列

//客户端访问sockfd会发来请求
//服务端收到后会accept新建netfd
//不同的子线程会通过任务队列知道来任务了，通过任务队列获取netfd来和服务器通讯
//链式队列
typedef struct Node_s{

    int netfd;
    struct Node_s* next;

}Node_t;

//因为任务队列是共享资源需要加锁和同步
typedef struct taskQueue_s{

    Node_t* front;
    Node_t* rear;
    int queueSize;
}taskQueue_t;

int initQueue(taskQueue_t* pqueue);//初始化
int enqueue(taskQueue_t* taskQueue,int netfd);
int dequeue(taskQueue_t* taskQueue);


#endif
